d = {}

def nrsums(sum, max):
    if 1 == sum or 1 == max: return 1
    if (sum, max) in d: return d[(sum, max)]
    
    result = 0
    
    for n in xrange(sum // max, -1, -1):
        result += nrsums(sum - n * max, max -1)
        
    d[(sum, max)] = result

    return result

limit = 100
print nrsums(limit, limit - 1)
